// pages/Member/member_Coupon/member_Cop_Available_details/member_Cop_Available_details.js

//获取应用实例(获取app.js全局变量必须获取应用实例)
const App = getApp()
 
//网络请求封装
import Request_post from "../../../../request/Request_post"
import Request_get from "../../../../request/Request_get"

//系统设置项目:(请求地址-在封装中已经引入，这里不需要;   api调用的Appid-partner_app_id;   渠道ID-as_appid)
import config from "../../../../config/config"

//引入时间函数
var dateArray = require("../../../../utils/CustomFunction/getDayFirstNowLast.js")
var time = require("../../../../utils/CustomFunction/getNowTime.js")

//引入日期时间：（格式化、反格式化）函数
var formatDate = require("../../../../utils/CustomFunction/dateFormat.js")
var unformatDate = require("../../../../utils/CustomFunction/dateUnFormat.js")

//获取当前的日期时间 yyyy-mm-dd hh:mm:ss
var todayDatetTime = require("../../../../utils/CustomFunction/getNowDateTime.js")

// 获取当前的日期 yyyy-mm-dd
var getToday = require("../../../../utils/CustomFunction/getToday.js")

// 获取明天的日期 yyyy-mm-dd
var getTomorrow = require("../../../../utils/CustomFunction/getTomorrow.js")

//获取当前是周几
var getNowWeek = require("../../../../utils/CustomFunction/getNowWeek.js")

//日期时间（yyyy-mm-dd hh:mm:ss）转换为时间戳
var timeTostamp = require("../../../../utils/CustomFunction/timeTostamp.js")

//星期X 转换为 数值
var weekTonumber = require("../../../../utils/CustomFunction/weekTonumber.js")

// 将0开头的长度为2位的字符串转换为数值，如：  '02' 转为 2
var TwoStringToNumbser = require("../../../../utils/CustomFunction/TwoStringToNumbser.js")

//计算两个时间戳的差值，返回毫秒
var intervalTime = require("../../../../utils/CustomFunction/intervalTime.js")

//全局数组：优惠券样式
import wxGloalArray from "../../../../config/GlobalArray.js"

//引入图片缓存方法：
import cacheimg from "../../../../utils/cacheImg"

// 强制回到主页
var backToindex = require("../../../../utils/CustomFunction/backToindex.js")
 


Page({

	/**
	 * 页面的初始数据
	 */
	data: {

		pageImage: 
    [ 
      {key: "Default_shopping_image",value: config.imageUrl+"Default_shopping_image.jpg"},
      {key: "Default_exchang_image",value: config.imageUrl+"Default_exchang_image.jpg"},
			{key: "Default_parking_image",value: config.imageUrl+"Default_parking_image.jpg"},
			{key: "SoldOut",value: config.imageUrl+"SoldOut.png"},																// 全部已售罄图片
			{key: "Cycle_SoldOut",value: config.imageUrl+"Cycle_SoldOut.png"},										// 本轮（周期）已售罄图片
			{key: "close",value: config.imageUrl+"close.png"},																		// 弹出框关闭
			{key: "extamtCop",value: config.imageUrl+"extamtCop.png"},														// 本券为增值券
    ],
		
		// 显示倒计时的时间戳
		ShowCountdownStamp: App.globalData.ShowCountdownStamp,
		// 营销活动可购买剩余数量在页面上的显示上限
		ActshowVldqty: App.globalData.ActshowVldqty,

		// 确认支付按钮——是否禁用状态 & 默认按钮文字
		payBt_Statu:false,
		payBt_text:"确认支付",

		//支付方式选择 单选框默认值
		payMentype:
		[
			{typeID:"01",name:"微信支付",image:"../../../../image/wechatPay.png",checked:true},
			// {typeID:"02",name:"银联支付",image:"../../../../image/bankPay.png",checked:false},
		],

		//支付方式如果只有一项时，需要设置一个 this.data.typeID 的默认值
		typeID:"01",

		//轮询次数初始值
		num:0,

		//图片详情的pup窗口：默认关闭
		more_copdetails_show:false,

		//增值券规则显示的pup窗口：默认关闭
		extamtCop_show: false,

	},
	
	/** 外链图片Url资源，缓存到本地 */
  storeImage:function(){
    var that = this
    let obj = {}
    let pageimgArr = that.data.pageImage
    // 图片外链url：ip:端口 替换成 域名（外链资源不做域名转换了，而是外链资源原始链接必须就是域名url）
    // pageimgArr.forEach(i => {i.value = config.domainName + i.value.split('/').slice(3).join('/')})
    // 调用本地文件缓存方法 mapCacheUrl
    pageimgArr = pageimgArr.map(i => ({
      ...i,imgpath:cacheimg.mapCacheUrl(i.value)
    }))  
    // 数组转换为对象
    pageimgArr.forEach(i => {obj[i.key] = i.imgpath})
    that.setData({pageStoreimg: obj })
    // console.log(that.data.pageStoreimg)
	},
	

	/** 增值规则显示 */
	extamtCop_show:function(){
		this.setData({extamtCop_show: true})
	},
	/** 增值规则显示关闭 */
	extamtCop_offshow:function(){
		this.setData({extamtCop_show: false})
	},

	/** 展示券详情 */
	Copdetail_onshow:function(e){
		var that = this
		let itmno = e.currentTarget.dataset.srcbllno
		let list = that.data.copInfo
		let imgList = []
		for(var i in list.copimgList){
			imgList.push(list.copimgList[i])
		}
		that.setData({
			imgList,
			more_copdetails_show:true
		})
	},

	/** 关闭券详情 */
	Copdetail_offshow:function(){
		this.setData({
			more_copdetails_show:false
		})
	},
	

	/** 点击获取优惠券前 校验当前优惠券（规则）是否还有效：
		* 规则无效 ——（规则有效期已过期 || 可领数量==可领总数量）
		* 施工的接口本身已经控制了无效规则单号不能获取，但因为支付购券是先付款，后获取优惠券，所以需要在购券之前做一下验证，避免用户发起支付请求后，又因为规则失效 或 已无可领数量 导致不能获取优惠券
	*/
	checkRulvld:function(){
		var that = this
		/** 	Api请求：10-001 会员可领/可购/可积分兑换电子优惠券列表查询 **/
		var _mbrparams = wx.getStorageSync('StrMbrInfo').mbrparams
		Request_post.post(
			config.domainName+"api_echcopact/buycopact-list",
			{
				copcltid: config.copcltid,
				copchtid: that.data.copchtid,
				rulechbllno: that.data.srcbllno,
				mbrparams: _mbrparams
			},
			function(res){
				// console.log(res)
				if( res != "undefined" && res.return_no == 1 ){
					const copInfoArray = res.return_data.copList
					var tempCopinfo = copInfoArray.find(i => i.rulechbllno == that.data.srcbllno)
					if(tempCopinfo.vldqty > 0 && tempCopinfo.mbrvldqty > 0){// 优惠券周期（按规则单/按天/按月）可购剩余数量 > 0 && 当前会员可够数量 > 0
						that.setData({
							vldflg: 'y'
						})
					}else{
						that.setData({
							vldflg: 'n'
						})
						wx.showModal({
							title: "提示：购券操作失败",
							content:"失败原因：\r\n1.购券时效已经过期\r\n2.可购券数量已用完\r\n点击确定返回首页",
							showCancel: false,
							complete: function (res) {
								wx.redirectTo({
									url: App.globalData.homePage,
								})
								return;
							 }
						})
					}
				}else{
					that.setData({
						vldflg: 'n'
					})
					wx.showModal({
						title: "校验异常",
						content:"有效券校验发生异常，请重试！",
						showCancel: false,
					})
				}
			}
		)
		
	},

	// 获取券 按钮要执行的方法（02-免费领取、06-积分兑换、05-在线购券）
	getCop_type:function(){
		var that = this
		var getCopType = that.data.copInfo.echmodid
		if(getCopType == '02'){
			that.Cop_get()
		}else if(getCopType == '06'){
			that.Cop_Exchange()
		}else if(getCopType == '05'){
			this.setData({ 
				show: true ,
			});
		}
	},


	/** 积分兑换优惠券: 先秒杀，秒杀成功再积分兑换  */
	Cop_Exchange:function(i){
		var that = this
		wx.showLoading({	
			title: '正在处理，请稍后',
		});
		// 优惠券秒杀-echcopseckill 购券秒杀下单
		let bllno = App.globalData.mbrid + Math.round(new Date() / 1000)	// 在线充值单单号：mbrid+时间戳
		let mbrparams = wx.getStorageSync('StrMbrInfo').mbrparams
		that.setData({bllno,mbrparams})
		Request_post.post(
			config.domainName+"api_echcopseckill/buycopseckill",
			{
				bllno: that.data.bllno,
				rulechbllno: that.data.srcbllno,
				echmodid: that.data.echmodid,
				qty: 1,
				mbrparams: that.data.mbrparams
			},
			function(res){
				if(res != 'undefined' && res.return_no == 1){
					// console.log('秒杀下单成功：回调信息存缓存',res)
					// 秒杀下单成功：回调信息存缓存
					wx.setStorageSync('StrCopseckillodr',res.return_data)

					/* Api请求：优惠券服务-echcopsrv 003-积分兑券 */
					Request_post.post(
						config.domainName+"api_echcopsrv/itgechcop",
						{
							srcbllno: that.data.bllno,
							copcltid: config.copcltid,
							echtmnid: config.echtmnid,
							mbrcltid: config.cltid,
							rulechbllno: that.data.srcbllno,
							mbrparams:	that.data.mbrparams
						},
						function(res){
							// console.log(res)
							if(res != "undefined" && res.return_no == 1){
								wx.hideLoading()
								that.setData({
									msg:res.return_msg,
									copid:escape(res.return_data.copid)
								})
								wx.redirectTo({
									url:"/SubpkgMarketing/pages/Coupon/GetCopSuccess/GetCopSuccess?copid="+that.data.copid+"&msg="+that.data.msg
								})	
							}else{
								// 积分兑券失败时：取消秒杀下单
								wx.hideLoading()
								that.CancelBuycopOdr();
								that.setData({
									msg:res.return_msg,
								})
								wx.redirectTo({
									url:"/SubpkgMarketing/pages/Coupon/GetCopFailed/GetCopFailed?msg="+that.data.msg+'&echmodid='+that.data.echmodid
								})
							}
						}
					)
				}else{
					wx.hideLoading()
					wx.showModal({
						content: res.return_msg,
						showCancel: false,		//是否显示取消按钮
						confirmText:"确认",		//默认是“确定”
						confirmColor: 'skyblue',	//确定文字的颜色  
				 })
				}

			}

		)




		
	},


	/** 免费领券：先秒杀，秒杀成功再领券 */
	Cop_get:function(e){
		var that = this
		wx.showLoading({	
			title: '正在处理，请稍后',
		});
		// 优惠券秒杀-echcopseckill 购券秒杀下单
		let bllno = App.globalData.mbrid + Math.round(new Date() / 1000)	// 在线充值单单号：mbrid+时间戳
		let mbrparams = wx.getStorageSync('StrMbrInfo').mbrparams
		that.setData({bllno,mbrparams})
		Request_post.post(
			config.domainName+"api_echcopseckill/buycopseckill",
			{
				bllno: that.data.bllno,
				rulechbllno: that.data.srcbllno,
				echmodid: that.data.echmodid,
				qty: 1,
				mbrparams: that.data.mbrparams
			},
			function(res){
				if(res != 'undefined' && res.return_no == 1){
					// console.log('秒杀下单成功：回调信息存缓存',res)
					// 秒杀下单成功：回调信息存缓存
					wx.setStorageSync('StrCopseckillodr',res.return_data)

					/* Api请求：优惠券服务-echcopsrv 002-会员领券 */
					Request_post.post(
						config.domainName+"api_echcopsrv/mbrechcop",
						{
							srcbllno: that.data.bllno,
							copcltid: config.copcltid,
							echtmnid: config.echtmnid,
							rulechbllno: that.data.srcbllno,
							mbrparams:	that.data.mbrparams
						},
						function(res){
							// console.log(res)
							if(res != "undefined" && res.return_no == 1){
								wx.hideLoading()
								that.setData({
									msg:res.return_msg,
									copid:escape(res.return_data.copid)
								})
								wx.redirectTo({
									url:"/SubpkgMarketing/pages/Coupon/GetCopSuccess/GetCopSuccess?copid="+that.data.copid+"&msg="+that.data.msg
								})	
							}else{
								// 免费领券失败时，取消秒杀下单
								wx.hideLoading()
								that.CancelBuycopOdr();
								that.setData({
									msg:res.return_msg,
								})
								wx.redirectTo({
									url:"/SubpkgMarketing/pages/Coupon/GetCopFailed/GetCopFailed?msg="+that.data.msg+'&echmodid='+that.data.echmodid
								})
							}
						}
					)
				}else{
					wx.hideLoading()
					wx.showModal({
						content: res.return_msg,
						showCancel: false,		//是否显示取消按钮
						confirmText:"确认",		//默认是“确定”
						confirmColor: 'skyblue',	//确定文字的颜色  
				 })
				}
			}
		)

	},


	
	//【绿色】确认支付按钮
	WxChat_Pay:function(){
		var that = this
		let typeID = that.data.typeID
		if(typeID == "01"){
			//微信支付
			// this.setData({ show: false });
			that.Cop_Pay()
		}else if(typeID == "02"){
			//银联支付
			this.setData({ show: false });
			wx.showToast({
				title: '暂不支持银联',
				icon:"none",
				image:"../../../image/Warning.png",
				duration: 1500
			})
		}
	},
	
	
	/**---------------------------------------- Payment-01 begin 支付购券 && 轮询 【微服务版】 + 【redis 】----------------------------------------**/
	/** 购买电子优惠券 【微服务版】 */
	Cop_Pay:function(r){
		var that = this
		that.setData({
			payBt_Statu:true,							//确认支付按钮状态
			payBt_text:"正在支付...",			//确认支付按钮状态
		})
		// [1] 先校验当前优惠券详情对应的规则单是否有效 //
		that.checkRulvld()
		if(that.data.vldflg == 'n'){
			// console.log('规则无效')
			return;
		}else{   
			// console.log('规则有效')
			// [2] 当前规则单有效，开始秒杀下单
			let bllno = App.globalData.mbrid + Math.round(new Date() / 1000)	// 在线充值单单号：mbrid+时间戳
			let mbrparams = wx.getStorageSync('StrMbrInfo').mbrparams
			that.setData({bllno,mbrparams})
			/** [3] Api请求 微服务-购券秒杀-buycopseckill：秒杀下单 */
			Request_post.post(
				config.domainName+"api_echcopseckill/buycopseckill",
				{
					bllno: that.data.bllno,
					rulechbllno: that.data.srcbllno,
					echmodid: that.data.echmodid,
					qty: 1,
					mbrparams: that.data.mbrparams
				},
				function(res){
					if(res != 'undefined' && res.return_no == 1){
						console.log('秒杀下单成功：回调信息存缓存',res)
						// 秒杀下单成功：回调信息存缓存
						wx.setStorageSync('StrCopseckillodr',res.return_data)
						// [4] 秒杀下单回调成功后，即发起支付
						/** Api请求 微服务-奥博克支付-abapaysvr：支付请求-在线购券 */
						Request_post.post(
							config.domainName+"api_abapaysrv/pay",
							{
								bllno: that.data.bllno,													//第三方业务单号：如：点餐的订单号、充值业务的XX充值单
								amount: that.data.payamt,												//支付金额
								open_id: getApp().globalData.wx_openid,					//付款人的wx_openid
								bizparams: {
									mbrparams: that.data.mbrparams,
									copcltid: config.copcltid,
									echtmnid: config.echtmnid, 
									mbrcltid: config.cltid,
									rulechbllno: that.data.srcbllno
								}
							},
							function(res){
								console.log("支付请求成功后的回调：",res)
								if(res != 'undefinde' &&　res.return_no == 1){
									that.setData({
										rsn:res.return_data.rsn,
									})
									/** Api请求：微信_Api ———— 发起微信支付 */
									wx.requestPayment({
										timeStamp: res.return_data.payment_params.timeStamp,			//发起支付请求时的时间戳
										nonceStr: res.return_data.payment_params.nonceStr,				//随机字符串
										package: res.return_data.payment_params.package,					//统一下单接口返回的 prepay_id=****（即：package的值）：
										signType: 'MD5',																					//签名算法，应与后台下单时的值一致
										paySign: res.return_data.payment_params.paySign,					//签名
										success:function(e){
											console.log("微信支付成功后的回调：",e)
											wx.showLoading({
												title: '获取支付结果',
											});
											// 开始轮询支付结果
											// that.keyId = setInterval(() => {
											that.keyId = setInterval(() => {
												var numVlu = that.data.num + 1	//轮询的次数累加
												that.setData({num:numVlu})
												that.wxPay_Result();						//轮询时执行的方法
											},1500)	//轮询间隔1.5秒执行一次
										},
										fail:function(i){
											console.log("微信支付失败后的回调：",i)
											// 微信支付调用失败时 fail:function(i){} 取消秒杀下单
											that.CancelBuycopOdr() 			
											that.setData({payBt_Statu:false,payBt_text:"确认支付",show: false})
										}
									})
								}else{													// 调用Api：奥博克支付-abapaysvr 失败
									wx.showModal({
										title: res.return_msg,
										showCancel:false,
										success: function (res) {
											if (res.confirm) {
												that.setData({payBt_Statu:false,payBt_text:"立即购买"})
												that.onShow()
											} 
										}
									})
								}
							}
						)
					}else{
						// console.log('秒杀下单失败：回调信息存缓存',res)
						wx.showModal({
							title: "秒杀下单失败",
							content: res.return_msg,
							showCancel:false,
							success: function (res) {
								if (res.confirm) {
									that.setData({payBt_Statu:false,payBt_text:"确认支付",show: false})
									wx.redirectTo({
										url:"/SubpkgMarketing/pages/Coupon/IssueCopList/IssueCopList?echmodid="+"05"
									})
								}
							}
						})
					}
				},
			) 
		}
	},

	/** 微信支付结果查询 【微服务版】 **/
	wxPay_Result:function(){
		var that = this
		/** Api请求 微服务-奥博克支付-abapaysvr：支付结果查询 */
		Request_get.get(
			config.domainName+"api_abapaysrv/payresult",	
			{
				biztypid: "mbrbuycop",
				bllno: that.data.bllno,
				paybllno: that.data.rsn
			},
			function(res){
				console.log('第'+that.data.num+'次轮询：'+"支付结果轮询的回调：",res)
				if(res != 'undefined' && res.return_no == 1){	
					if(res.return_data.state == 'SUCCESS'){				//res.return_data.state: PENDING-支付中、SUCCESS-支付成功、FAILED-支付失败
						clearInterval(that.keyId)										//终止轮询
						// 终止轮询后的操作
						that.setData({payBt_Statu:false,payBt_text:"确认支付",show: false })
						// 清除秒杀下单的缓存
						wx.removeStorageSync('StrCopseckillodr')
						// 支付成功后，跳转到我的优惠券列表
						wx.showModal({
							title: '支付成功',
							content: '后台系统正在发券中\r\n点击确定进入[我的券包]查看',
							showCancel: false,					//是否显示取消按钮
							confirmText:"确定",					 //默认是“确定”
							success: function (res) {
								if (res.confirm) {	
									wx.redirectTo({
										url:"/SubpkgMarketing/pages/Coupon/MineCopList/MineCopList?getcoptypid=buycopseckill"
									})
								}
							}
						})
					}else if(res.return_data.state == 'FAILED'){
						wx.hideLoading()
						clearInterval(that.keyId)		//终止轮询
						// 支付结果轮询 == “FAILED”时，取消秒杀下单
						that.CancelBuycopOdr();
						wx.showModal({
							title:"支付失败",
							content:"抱歉，你发起的支付失败了\r\n状态：支付未完成\r\n异常业务订单号：\r\n"+that.data.bllno,
							showCancel:false,
							success: function (res) {
								if (res.confirm) {
									that.setData({payBt_Statu:false,payBt_text:"确认支付",show: false })
									wx.redirectTo({
										url:App.globalData.homePage
									})
								}
							}
						})
					}else if(res.return_data.state != 'SUCCESS' && that.data.num == 60){
						clearInterval(that.keyId)		//终止轮询
						/** Api请求 微服务-奥博克支付-abapaysvr：支付结果补充查询 */
						Request_get.get(
							config.domainName+"api_abapaysrv/payresultfix",	
							{ rsn: that.data.rsn},
							function(res){
								if(res != 'undefined' && res.return_no == 1 && res.return_data.trade_status == 'SUCCESS'){
									// console.log('支付轮询成功，轮询结果：'+res.return_data.trade_status)
									wx.hideLoading()
									// 终止轮询后的操作
									that.setData({payBt_Statu:false,payBt_text:"确认支付",show: false })
									// 清除秒杀下单的缓存
									wx.removeStorageSync('StrCopseckillodr')
									// 支付成功后，跳转到我的优惠券列表
									wx.showModal({
										title: '支付成功',
										content: '后台系统正在发券中\r\n点击确定进入[我的券包]查看',
										showCancel: false,					//是否显示取消按钮
										confirmText:"确定",					 //默认是“确定”
										success: function (res) {
											if (res.confirm) {	
												wx.redirectTo({
													url:"/SubpkgMarketing/pages/Coupon/MineCopList/MineCopList?getcoptypid=buycopseckill"
												})
											}
										}
									})
								}else{
									wx.hideLoading()
									wx.showModal({
										title:".支付结果异常",
										content:"抱歉，您的支付发生了异常\r\n异常业务订单号：\r\n"+that.data.bllno,
										showCancel:false,
										success: function (res) {
											if (res.confirm) {
												that.setData({payBt_Statu:false,payBt_text:"确认支付",show: false })
												wx.redirectTo({
													url:App.globalData.homePage
												})
											}
										}
									})
								}
							}
						)
					}
				}else{
					// console.log(res)
					clearInterval(that.keyId)		//终止轮询
					wx.showModal({
						title:"支付结果查询异常",
						content:"支付查询结果回调："+res,
						showCancel:false,
					})
				}
			}
		)
	},

	/** 取消秒杀下单 【微服务版】**/
	CancelBuycopOdr:function(){
		var that = this
		/** Api请求 微服务-购券秒杀-buycopseckill：取消秒杀下单 */
		Request_post.post(
			config.domainName+"api_echcopseckill/buycopseckill-cancel",		//支付取消.
			// 这里的传参，在秒杀下单里拿成功的回调
			{
				bllno: 	wx.getStorageSync('StrCopseckillodr').bllno,
				rulechbllno: wx.getStorageSync('StrCopseckillodr').rulechbllno,
				echmodid: that.data.echmodid,
				date: wx.getStorageSync('StrCopseckillodr').date,
				mbrid: App.globalData.mbrid,
				qty: 1
			},
			function(res){
				if(res != 'undefined' && res.return_no == 1){
					// console.log('秒杀下单取消成功！')
					that.setData({payBt_Statu:false,payBt_text:"确认支付",show: false })
					// 清除秒杀下单的缓存
					wx.removeStorageSync('StrCopseckillodr')
				}else{
					wx.showModal({
						title:"系统异常",
						content:"取消购券下单操作失败",
						showCancel:false,
					})
				}
			}
		)
	},
	/**----------------------------------------Payment-01 end 支付购券 && 轮询 【微服务版】 + 【redis 】----------------------------------------**/


	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: function (options) {
		var that = this

		// 对于外链直接进入到本页面的，强制路由到主页
		backToindex.backToindex();

		that.setData({
			DynamicColorGradient: wx.getStorageSync('StrMktopt').DynamicColorGradient               // 颜色动态渐变
		 })



		// 接收{member_Cop_Available}传递的6个参数：  1:srcbllno-规则单号、2:copchtid-券类型（购物券、停车券）、3:startuseamt-使用门槛金额
		that.setData({ 
			srcbllno: options.srcbllno, 
			copchtid: options.copchtid,				
			startuseamt: options.startuseamt,

			showstyle: options.showstyle, 
			rulechVldmode: options.rulechVldmode,
			echmodid: options.echmodid,
			Cycle: options.Cycle		// 限领模式: 下一个限领周期是否有效（明日||次月 是否还在发券有效期内）默认：valid-有效、invalid-无效
		}) 
		// console.log(that.data.srcbllno) 
	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {
		var that = this
		var _mbrparams = wx.getStorageSync('StrMbrInfo').mbrparams
		// 外链资源图片链接 本地缓存
    if(App.globalData.ResourcesLink_Locstr === 'y'){
      that.storeImage();
    // 外链资源图片链接 直接读取url地址
    }else{
      let pageimgArr = that.data.pageImage
      let object = {}
      pageimgArr.forEach(i => {object[i.key] = i.value}) // 数组转换为对象
      that.setData({pageStoreimg: object })
    }

		/* ----------------------优惠券详情查询 ---------------------- */
		// 领券方式为：会员领取时：
		if(that.data.echmodid == '02'){
			/** Api请求：优惠券活动-echcopact微服务：003-会员可【直接领取】优惠券列表/详情查询 **/
			Request_post.post(
				config.domainName+"api_echcopact/getcopact-list",
				{
					copcltid: config.copcltid,
					copchtid: that.data.copchtid,
					rulechbllno: that.data.srcbllno,
					mbrparams: _mbrparams
				},
				function(res){
					// console.log(res)
					if(res != 'undefined' && res.return_no == 1){

						const copInfoArray = res.return_data.copList
						var tempCopinfo = copInfoArray.find(i => i.rulechbllno == that.data.srcbllno)
						that.setData({tempCopinfo: tempCopinfo })

						const payamt = that.data.tempCopinfo.copprc
						const usescpbrf =  that.data.tempCopinfo.usescpbrf.split( ',' );							//用券范围转换数组
						that.setData({usescpbrf,payamt})

						if(App.globalData.Erpimage_Locstr ==='y'){
							let array = that.data.tempCopinfo
							// console.log(array)
							//将回调结果中的imgurl地址，转换为域名（原地址为：http://ip:port/xxx 转换为：https://域名/xxx）
							if(array.imgurl){
								array.imgurl = config.domainName + array.imgurl.split('/').slice(3).join('/');
							}
							// 调用本地文件缓存方法 mapCacheUrl
							array.imgpath = cacheimg.mapCacheUrl(array.imgurl)
							that.setData({
								copInfo:array,
								copttl:res.return_data.copList.copttl,    //需要传递到成功页面的参数
								dismodid:res.return_data.copList.dismodid,				//需要传递到成功页面的参数
							}) ;
						}else{
							// 使用res的原始回调（数组对象中增加一个imgpath的属性值，因为html标签中用imgpath做渲染）
							let object = that.data.tempCopinfo
							// console.log(object)
							object.imgpath = object.imgurl
							that.setData({
								copInfo:object,
								copttl:object.copttl,    //需要传递到成功页面的参数
								dismodid:object.dismodid,	//需要传递到成功页面的参数
							})
						}
						// console.log(that.data.copInfo)
						let Obj = that.data.copInfo
						let style = wxGloalArray.copstyle
						for(var n = 0; n < style.length; n++){
							if(
								style[n].copchtid == Obj.copchtid 
							){
								for(var key in style[n]){
									Obj[key] = style[n][key]
								}
							}
						}
						let tempinfo = Obj
						tempinfo.rul_totalvldqty = tempinfo.maxechqty - tempinfo.rul_sumqty //规则单可获取的剩余总量
						that.setData({copInfo:tempinfo})
						that.buttonStatus();
						// console.log(that.data.copInfo)
					}
				}
			)
		}
		// 领券方式为：积分兑换时：
		else if(that.data.echmodid == '06'){
			/** Api请求：优惠券活动-echcopact微服务：005-会员可【积分兑换】优惠券列表/详情查询 **/
			Request_post.post(
				config.domainName+"api_echcopact/itgcopact-list",
				{
					copcltid: config.copcltid,
					copchtid: that.data.copchtid,
					rulechbllno: that.data.srcbllno,
					mbrparams: _mbrparams
				}, 
				function(res){
					console.log(res)
					if(res != 'undefined' && res.return_no == 1){

						const copInfoArray = res.return_data.copList
						var tempCopinfo = copInfoArray.find(i => i.rulechbllno == that.data.srcbllno)
						that.setData({tempCopinfo: tempCopinfo })
						console.log(that.data.tempCopinfo)

						const payamt = that.data.tempCopinfo.copprc
						const usescpbrf =  that.data.tempCopinfo.usescpbrf.split( ',' );							//用券范围转换数组
						that.setData({usescpbrf,payamt})

						if(App.globalData.Erpimage_Locstr ==='y'){
							let array = that.data.tempCopinfo
							// console.log(array)
							//将回调结果中的imgurl地址，转换为域名（原地址为：http://ip:port/xxx 转换为：https://域名/xxx）
							if(array.imgurl){
								array.imgurl = config.domainName + array.imgurl.split('/').slice(3).join('/');
							}
							// 调用本地文件缓存方法 mapCacheUrl
							array.imgpath = cacheimg.mapCacheUrl(array.imgurl)
							that.setData({
								copInfo:array,
								copttl:res.return_data.copList.copttl,    //需要传递到成功页面的参数
								dismodid:res.return_data.copList.dismodid,				//需要传递到成功页面的参数
							}) ;
						}else{
							// 使用res的原始回调（数组对象中增加一个imgpath的属性值，因为html标签中用imgpath做渲染）
							let object = that.data.tempCopinfo
							// console.log(object)
							object.imgpath = object.imgurl
							that.setData({
								copInfo:object,
								copttl:object.copttl,    //需要传递到成功页面的参数
								dismodid:object.dismodid,	//需要传递到成功页面的参数
							})
						}
						console.log(that.data.copInfo)
						let Obj = that.data.copInfo
						let style = wxGloalArray.copstyle
						for(var n = 0; n < style.length; n++){
							if(
								style[n].copchtid == Obj.copchtid 
							){
								for(var key in style[n]){
									Obj[key] = style[n][key]
								}
							}
						}
						let tempinfo = Obj
						tempinfo.rul_totalvldqty = tempinfo.maxechqty - tempinfo.rul_sumqty //规则单可获取的剩余总量
						that.setData({copInfo:tempinfo})
						that.buttonStatus();

						console.log(that.data.copInfo)
						
					}
				}
			)
		}
		// 领券方式为：在线购券时：
		else if(that.data.echmodid == '05'){
			/** Api请求：优惠券活动-echcopact微服务：002-会员可【在线购买】优惠券列表/详情查询 **/
			Request_post.post(
				config.domainName+"api_echcopact/buycopact-list",
				{
					copcltid: config.copcltid,
					copchtid: that.data.copchtid,
					rulechbllno: that.data.srcbllno,
					mbrparams: _mbrparams
				},
				function(res){
					// console.log(res)
					if(res != 'undefined' && res.return_no == 1){

						const copInfoArray = res.return_data.copList
						var tempCopinfo = copInfoArray.find(i => i.rulechbllno == that.data.srcbllno)
						that.setData({tempCopinfo: tempCopinfo })

						const payamt = that.data.tempCopinfo.copprc
						const usescpbrf =  that.data.tempCopinfo.usescpbrf.split( ',' );							//用券范围转换数组
						that.setData({usescpbrf,payamt})

						if(App.globalData.Erpimage_Locstr ==='y'){
							let array = that.data.tempCopinfo
							// console.log(array)
							//将回调结果中的imgurl地址，转换为域名（原地址为：http://ip:port/xxx 转换为：https://域名/xxx）
							if(array.imgurl){
								array.imgurl = config.domainName + array.imgurl.split('/').slice(3).join('/');
							}
							// 调用本地文件缓存方法 mapCacheUrl
							array.imgpath = cacheimg.mapCacheUrl(array.imgurl)
							that.setData({
								copInfo:array,
								copttl:res.return_data.copList.copttl,    //需要传递到成功页面的参数
								dismodid:res.return_data.copList.dismodid,				//需要传递到成功页面的参数
							}) ;
						}else{
							// 使用res的原始回调（数组对象中增加一个imgpath的属性值，因为html标签中用imgpath做渲染）
							let object = that.data.tempCopinfo
							// console.log(object)
							object.imgpath = object.imgurl
							that.setData({
								copInfo:object,
								copttl:object.copttl,    //需要传递到成功页面的参数
								dismodid:object.dismodid,	//需要传递到成功页面的参数
							})
						}
						// console.log(that.data.copInfo)
						let Obj = that.data.copInfo
						let style = wxGloalArray.copstyle
						for(var n = 0; n < style.length; n++){
							if(
								style[n].copchtid == Obj.copchtid 
							){ 
								for(var key in style[n]){
									Obj[key] = style[n][key]
								}
							}
						}
						let tempinfo = Obj
						tempinfo.rul_totalvldqty = tempinfo.maxechqty - tempinfo.rul_sumqty //规则单可获取的剩余总量
						that.setData({copInfo:tempinfo})
						that.buttonStatus();
						console.log(that.data.copInfo)
					}
				}
			)
		}

		
	},



	// 页面底部按钮状态控制——被调用的方法
	buttonStatus:function(){
		var that = this
		var copInfo = that.data.copInfo
		var showstyle = that.data.showstyle
		var rulechVldmode = that.data.rulechVldmode
		var echmodid = that.data.echmodid

		if(showstyle == 'Reminder'){
			if(rulechVldmode != 'now' &&  copInfo.mbrvldqty > 0){
				that.setData({buttonText:'未开始',bottomLeft_descr:'活动尚未开始，请等待..'})
			}else if(rulechVldmode == 'now' && copInfo.mbrvldqty > 0 && copInfo.rul_totalvldqty > 0 && copInfo.vldqty > 0){
				if(echmodid == '02'){
					that.setData({buttonText:'免费领取',bottomLeft_descr:'您是VIP会员，可免费领取本券'})
				}else if(echmodid == '06'){
					that.setData({buttonText:'积分兑换',bottomLeft_descr:'使用（会员积分）兑换本券'})
				}else if(echmodid == '05'){
					that.setData({buttonText:'立即购买',bottomLeft_descr:'在线支付（微信）购买本券'})
				}
			}else if(copInfo.mbrvldqty < 1){
				that.setData({buttonText:'已达数量上限',bottomLeft_descr:'您已达到每会员最大获券数量'})
			}else if(copInfo.rul_totalvldqty < 1){
				that.setData({buttonText:'已售罄',bottomLeft_descr:'当前活动的全部数量已经售罄'})
			}else if(copInfo.vldqty < 1){
				that.setData({buttonText:'本轮已售罄',bottomLeft_descr:'本轮活动已售罄'})
			}
		}

		if(showstyle == 'Default'){
			if(copInfo.mbrvldqty > 0 && copInfo.rul_totalvldqty > 0 && copInfo.vldqty > 0){
				if(echmodid == '02'){
					that.setData({buttonText:'免费领取',bottomLeft_descr:'您是VIP会员，可免费领取本券'})
				}else if(echmodid == '06'){
					that.setData({buttonText:'积分兑换',bottomLeft_descr:'使用（会员积分）兑换本券'})
				}else if(echmodid == '05'){
					that.setData({buttonText:'立即购买',bottomLeft_descr:'在线支付（微信）购买本券'})
				}
			}else if(copInfo.mbrvldqty < 1){
				that.setData({buttonText:'已达上限',payBt_Statu:false,bottomLeft_descr:'您已达到每会员最大获券数量'})
			}else if(copInfo.rul_totalvldqty < 1){
				that.setData({buttonText:'已售罄',bottomLeft_descr:'活动的全部数量已经售罄'})
			}else if(copInfo.vldqty < 1){
				that.setData({buttonText:'本轮已售罄',bottomLeft_descr:'本轮活动已售罄'})
			}
		}
	},

	// 倒计时完毕后的方法
	finished() {
   this.onShow()
  },

	// 关闭支付的pop弹窗
	onClose() {
		this.setData({ show: false });
	},

	






	









	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function () {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function () {

	}
})